﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using ProyectoVuelos.Presentacion.IContrato;
using System.Data;
using ProyectoVuelos.Entidades;
using ProyectoVuelos.Logica;


namespace ProyectoVuelos.Presentacion.Presentador
{
    public class PresentadorConsultaVuelo
    {
        private IContratoConsultaVuelo _vista;
        private List<Vuelo> miLista;

        public PresentadorConsultaVuelo(IContratoConsultaVuelo laVista)
        {
            this._vista = laVista;
        }

        #region Metodos del Presentdor
        //metodo Boton
        public void OnClickConsultaVuelo()
        {
            
            if (_vista.FechaL.Text == "")
            {
                _vista.GridView2.DataSource = cargarTablaVueloSoloIda();
                _vista.GridView2.DataBind();
            }
            else {
                _vista.GridView1.DataSource = cargarTablaVuelosBasico();
                _vista.GridView1.DataBind();
            } 
        }


        //consulta Basica de vuelos ida y vuelta
        public DataTable cargarTablaVuelosBasico()
        {
            DataTable miTabla = new DataTable();
            string _ciudadOrigen = _vista.Origen.Text;
            string _ciudadDestino = _vista.Destino.Text;
            string _FechaS = _vista.FechaS.Text;
            string _FechaL = _vista.FechaL.Text;

            List<Vuelo> miLista = new logicaVuelos().MostrarVueloVuelta(_FechaS, _FechaL, _ciudadOrigen, _ciudadDestino);
            miTabla.Columns.Add("ID", typeof(string));
            miTabla.Columns.Add("Origen", typeof(string));
            miTabla.Columns.Add("Destino", typeof(string));
            miTabla.Columns.Add("FechaS", typeof(string)); 
            miTabla.Columns.Add("FechaL", typeof(string));

           // miTabla.Columns.Add("Aerolinea", typeof(string));
            foreach (Vuelo vuelos in miLista)
            {

                miTabla.Rows.Add(vuelos.NumeroVuelo,_ciudadOrigen, _ciudadDestino, vuelos.FechaSalida, vuelos.FechaLlegada);
            }

            return miTabla;
        }


        public DataTable cargarTablaVueloSoloIda()
        {
            DataTable miTabla = new DataTable();
            string _ciudadOrigen = _vista.Origen.Text;
            string _ciudadDestino = _vista.Destino.Text;
            string _FechaS = _vista.FechaS.Text;
            //string _FechaL = _vista.FechaL.Text;



            List<Vuelo> miLista = new logicaVuelos().MostrarListaVuelosIda(_FechaS,  _ciudadOrigen, _ciudadDestino);
            miTabla.Columns.Add("ID", typeof(string));
            miTabla.Columns.Add("Origen", typeof(string));
            miTabla.Columns.Add("Destino", typeof(string));
            miTabla.Columns.Add("FechaS", typeof(string));
            //miTabla.Columns.Add("FechaL", typeof(string));

            // miTabla.Columns.Add("Aerolinea", typeof(string));





            foreach (Vuelo vuelos in miLista)
            {

                miTabla.Rows.Add(vuelos.NumeroVuelo, _ciudadOrigen, _ciudadDestino, vuelos.FechaSalida );
            }

            return miTabla;
        }


        //public void GridviewRowCommand(Object sender, GridViewCommandEventArgs e)
        //{
        //    if (e.CommandName == "Consultar")
        //    {
        //        int index = Convert.ToInt32(e.CommandArgument);

        //        GridViewRow row = _vista.GridView1.Rows[index];
        //        String codigo = Convert.ToString(row.Cells[1].Text);
        //        String origen = Convert.ToString(row.Cells[2].Text);
        //        String destino = Convert.ToString (row.Cells[3].Text);
        //        String fechaS = String.Format("{0:yyyy/MM/dd}", Convert.ToString(row.Cells[4].Text));
        //        String fechaL = String.Format("{0:yyyy/MM/dd}", Convert.ToString(row.Cells[5].Text));
               
        //        //if (DropDownList2.SelectedValue == "0")
        //        //{
        //        //    proveedor = Convert.ToString(row.Cells[4].Text);
        //        //}
        //        Response.Redirect("ModificarCuentasPorPagar2.aspx?codigo=" + codigo +
        //          "&fechaE=" + fechaE + "&monto=" + monto + "&Proveedor=" + proveedor);

        //    }
        
        #endregion
    }
}